angular.module('app').config(($stateProvider) => {

    $stateProvider.state('app.navigation', {
        url        : '/navigation',
        label      : 'Navigation',
        controller : 'app.navigation',
        templateUrl: 'view/app/navigation/navigation.html'
    });
}).controller('app.navigation', function ($scope, $ionicNavBarDelegate, $ionicHistory) {
    /**
     * view 的生命周期事件
     */
    // state 进入前
    $scope.$on('$ionicView.loaded', (e, d)=> {
        console.log('loaded');
    });
    // state 进入前
    $scope.$on('$ionicView.beforeEnter', (e, d)=> {
        console.log('beforeEnter');
    });
    // state 进入
    $scope.$on('$ionicView.enter', (e, d)=> {
        console.log('enter');
    });
    // state 进入后
    $scope.$on('$ionicView.afterEnter', (e, d)=> {
        console.log('afterEnter');
    });
    // 离开 state 前
    $scope.$on('$ionicView.beforeLeave', (e, d)=> {
        console.log('beforeLeave');
    });
    // 离开 state
    $scope.$on('$ionicView.leave', (e, d)=> {
        console.log('leave');
    });
    // 离开 state 后
    $scope.$on('$ionicView.afterLeave', (e, d)=> {
        console.log('afterLeave');
    });
    // state 销毁后 cache-view="false" 是可以触发
    $scope.$on('$ionicView.unloaded', (e, d)=> {
        console.log('unloaded');
    });

    $scope.$on('$ionicParentView.beforeEnter', (e, d)=> {
        console.log('$ionicParentView.beforeEnter');
    });
    $scope.$on('$ionicParentView.afterEnter', (e, d)=> {
        console.log('$ionicParentView.afterEnter');
    });
    $scope.$on('$ionicParentView.beforeLeave', (e, d)=> {
        console.log('$ionicParentView.beforeLeave');
    });
    $scope.$on('$ionicParentView.afterLeave', (e, d)=> {
        console.log('$ionicParentView.afterLeave');
    });

    $scope.setNavTitle = $ionicNavBarDelegate.title.bind($ionicNavBarDelegate);

    /**
     * $ionicNavBarDelegate
     */
    // align([direction])  ['left', 'right', 'center'], 默认 center. 设置 title 和 button 的对齐方式
    // showBackButton([show]) 是否显示[回退]按钮, 获取显示状态
    // showBar(show) 是否显示 ion-nav-bar, 获取显示状态
    // title(title) 设置 ionNavBar 的标题

    /**
     * $ionicHistory
     */
    // viewHistory()
    console.log($ionicHistory.viewHistory());
});